<style>
body, pre {
    font-family: Times;
    font-size: 14pt;
}
a {
    color: blue;
}
</style>
<h2>APA Schedule Converter Testing</h2>
Download the <a target=_blank href=testsched.zip>zip file</a> of test schedule directories.
<p>
<pre>
Website
    Access at <a target=_blank href=http://www.logicalpoetry.com/apa>http://www.logicalpoetry.com/apa</a>

    Is it clear for the league operator what they need to do?

    Are the schedule HTML files clear for the user.
        i.e.  How to see your team's schedule.

    Email reminder site - clear?

Installation
    - Download from web site.  Get APA_Sched2.msi not
        the one indicated on the download link (APA_Sched.msi).
    - Install.
    - Launch from desktop icon #6.

    Comes up with pool table dialog.
    By default there are 3 text entries:
        name of league
        league website
        schedule directory
    And 3 radio buttons - with 'Manual' chosen by default.
    Choose 'Ftp' and you see 4 more:
        ftp site
        ftp name
        ftp password - chars shown with *
        ftp directory
    Choose 'External' and you see:
        Hosting Password
    Hovering over the 3 radio buttons changes
        the status message at the bottom.
    4 Buttons at bottom
        Convert
        View
        Publish
        Quit
    Browse - on schedule directory
        browses the directory hierarchy
        + expands
        double click selects - puts in text field
    Quit and relaunch - all entries remembered
    Clicking on X at top right is the same as Quit.
        Any changes are saved.
    control-R refreshes balls.

Convert
    empty/ - an empty sched dir - convert says "0 files converted".
        do this test (and those below) by browsing to
        the testsuite/empty directory and then choosing 'Convert'.
    one/ - 1 pdf (041.pdf) - convert generates:
        index.html
        style.css
        init.js
        one .html for each host site named after the host's name
            lower case, space => underscore, non-word => removed
        one .html for each team named div#-team#.html

        choose View button to see the generated index.html file.

        Verification
            - Division name, day of play, Division number in first table
            - Division name is a link to Division table in the page
            - Host Sites in second table
            - Each host site is a link to the calendar of how many matches
                they need to host on each date
            - ** Choose two random dates from pdf and verify the number
                of matches each site needs to host
            - Note the yellow highlighted upcoming date on the team schedules.
                    (if current - otherwise change system date on your machine)
            - ** For the two random dates, verify each team table completely
                host location and opponent
            - Don't worry about 'Email Reminder', yet.
                Only after publishing.
            - Note the date stamp (As of May 23) at the top of each page.
    xls/ - same as above for .xls file
        two different ones - one from Doug (sched.xls), one concocted (208.xls)
    two/ - convert 1 pdf, 1 xls - verify files exist
    error1/ - 208.pdf (with error in host name)
        - gives error and stops
        - add line in except file for team 20801 - Jupiters at the Crossing
            reConvert, check that team 1's home matches
                have the proper host site
            the rest will still be faulty
        - add similar line for each team with faulty host name
            copy/paste etc
        - converted schedule should now be proper
        - verify all needed files exist
    error2/ - another pdf with problematic host name/address, etc.
    bye/ - 042.pdf - our own division
        - convert, verify the byes for each team.
    three/ - with 3 schedules (aaa, missing, zzz) in dir
        - aaa goes through fine.
        - next gives error about missing team (-2)
        - error should be displayed in red identifying file & date (month day).
            conversion halted - no going on to zzz.
        - error in red
    unknown/ - error: bogus team number (5) in home-away lines
    mult/ - a pdf with more than one division in it.
        gives error and stops.
    twentyfive/ - 25 schedules - stress test - doesn't die.
        publish 281 files with no error.

    Random APA League test - 
        use graphical locator: <a target=_blank href=http://www.poolplayers.com/Locator/default.html>http://www.poolplayers.com/Locator/default.html</a>
            Choose state at random, find league at random, division at random.
        or forum: <a target=_blank href=http://apaczone.com/memberlist.php>http://apaczone.com/memberlist.php</a>
            (sort by website descending)
            choose website at random
        In both cases hope that the pdf schedules are
            publicily available.  They may be behind member login
            or the operator may have reformatted them somehow.
        Convert, Verify. Or notice issues.
        Do this 5-10 times.
        Achieve randomness with penny and binary search.  :).

Publishing
    - Try the 3 radio buttons.
        * Manual - nothing to do, really.

        * Ftp - several things to do:
        - Try publishing w/o any FTP info.
        - Leave out any one or more of the 4 fields.
        - Give incorrect info for site/name/password.
        - Errors should be displayed in red.
        - Use www.logicalpoetry.com, logicalpoetr, bx42rg86 for
            site/name/pass.
        - If no convert before publish - 0 files published.
            It puts *.html, init.js, style.css
        - Do the publish for the 30 schedules.
            (For a stress test).
        - schedules are copied into subdir of htdocs/
            so put 'htdocs/testdir/subdir'.
            the directories will be created if they don't exist.
        - Publish and see the progress report.
        - Interrupt the progress by disconnecting the network
            cable and see the error.
        - Trying clicking on Quit while publishing in progress.
            It _will_ quit in the middle.
        - Open up <a target=_blank href=http://www.logicalpoetry.com/testdir/subdir>http://www.logicalpoetry.com/testdir/subdir</a>
            in your browser.  Firefox/Safari/IE.
            Verify the look and function of schedules and reminders.   
            Especially check the link to the League Website
                on the team schedule pages.

        * External
            You'll need to register the league site name at the indicated
                site at apasched.com.
            And then enter your chosen Hosting Password in the dialog.
            Then choose Publish as before (with FTP) and verify.

Reminders
    Invoke <a target=_blank href=http://www.logicalpoetry.com/apa/apa_cron.html>http://www.logicalpoetry.com/apa/apa_cron.html</a>
    Password is 'dosa'.
    For the date field put 'clear'.  This will clear the
        database of reminder subscriptions.

    For testing purposes you can use the <a target=_blank href=http://www.logicalpoetry.com/apa/schedules/>sample published schedules</a>.
        OR you are welcome to use ANY schedule that you have published.

    Go to a team page, click on 'Email Reminder'
        and put in an email address or phonenumber@...
        and press Subscribe.
    You will be sent a confirmation of this subscription
        just in case someone else subscribes you maliciously.
        For both email and txtmsgs.
    In the apa_cron.html dialog put 'list' for the date.
        You'll see a list of subscriptions in this form:

        day of week (0-6)|email|team page url|state

    Go to another team page.   Click on Email Reminder.
        See the address you put in before.  Change it to another.
        Click subscribe.
    Click unsubscribe for the first address.
        Get the confirmation.
    Verify with 'list'.
    Try subscribing after the last match of the season - see message.
        You'll need to use another schedule for this test
        or concoct one.
    Get errors from:
        Missing email.
        Invalid syntax email.

    Subscribe on team pages for a couple of different days.

    Run the cron job (via apa_cron.html) on various days.
    NOTE: You need to put the date of the day BEFORE the match.

        You can enter dates in these forms:
            
            4/5/10  (April 5th, 2010)
            4/5     (if the year is 2010)
            4 5     (same)
            5       (if the month is the current month)

    See the resulting report.

    ** Try it for every day on a team's schedule.
        Do this for email rather than txt to save money.
        Do it for txt once - if you have unlimited txts.
        I have .05 per txt and can help...

    Verizon and ATT txtmsgs confirmation and actual reminders.

    On the last match of the season note who gets unsubscribed.
        The reminder sent (email/txt) notes the unsubscription.

    Try the same for a team that has a Bye.
        Like Dream 8 or Knock-N-8 in division Seventh Pocket.
        The latter team has a bye on the last match of the season!

    For an email reminder (not txtmsg) click on the
        unsubscribe link at the bottom.  Receive the
        confirmation.  Verify in apa_cron.html with 'list'.
        Note that this unsubscribe link will not be there
        for the reminder of the last match of the season.

    Concoct a spreadsheet schedule, convert, publish
        and send txt reminder.   Manage to exceed the
        max of 160 chars.  See what happens.

Known issues
    txt msg max limit?
        does it include subject, from address?
        need to test by modifying an .xls schedule
        do we need to do anything different if the max
        is exceeded?  How likely is it to be exceeded?

Resolved (hopefully) Issues
    test suite pdf's/xls's in separate directories - and zip file
        for ease of testing - just Browse to new dir
        Convert will first clear the directory
            of *.html, *.css, *.js
    sub/unsub confirmations don't arrive in Verizon txtmsg
        adjusted the from address for txt msgs.  try it again.
    create the apa@logicalpoetry.com email address
    put cropped screenshot images of the old and the new
        in the Introduction section
        decided against this - added a bit to the introduction instead.
    text about warning that if APA sched format changes I'm screwed.
    text about the missing, unknown errors in Troubleshooting
    pocket radius
        not easy - i made a compromise - not quite right yet
    missing team - give date not week #
    next match in both email and text
    txt msg content
       subject is just 'Reminder'
       'you play at' hostname, address (no city/phone no opponent).
       next week: hostname
    email reminders have everything including your team name.
    red errors on publishing
        on put as well...
        can try disconnecting in the middle to get the error
    If someone tries to subscribe after the last match tell them about it.
    list, clear in apa_cron.html
</pre>
